# 这个脚本控制玩家角色的行为，包括移动等
extends CharacterBody2D  # 继承自CharacterBody2D类，这个类专门用于有物理行为的角色

# 定义角色移动速度，const表示这是一个常量，不会改变
const SPEED = 800

# 每一帧都会调用此函数，用于更新角色状态
# delta参数表示上一帧到这一帧的时间间隔（秒）
func _process(delta: float) -> void:
	# 获取键盘输入的方向
	# Input.get_vector函数接收四个参数，分别是左、右、上、下四个方向对应的输入动作
	# 它会返回一个二维向量，表示输入的方向
	var input_direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
	
	# 计算速度向量 = 方向向量 × 速度常量
	# 这样我们就得到了一个表示移动方向和速度的向量
	velocity = input_direction * SPEED
	
	# 根据计算出的velocity（速度向量）移动角色
	# move_and_slide()是CharacterBody2D类的一个方法，它会考虑碰撞等物理因素
	move_and_slide()
